﻿using System.Collections.ObjectModel;

namespace Renci.Data.Interop.OpenGIS.Wfs
{
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/wfs")]
    [System.Xml.Serialization.XmlRootAttribute("TransactionResponse", Namespace = "http://www.opengis.net/wfs", IsNullable = false)]
    public class TransactionResponseType
    {
        /// <remarks/>
        public TransactionResponseType()
        {
            this.Version = "1.1.0";
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TransactionSummary")]
        public TransactionSummaryType TransactionSummary { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("Action", IsNullable = false)]
        [System.Xml.Serialization.XmlArrayAttribute("TransactionResults", IsNullable = false)]
        public Collection<ActionType> TransactionResults { get; set; }

        private Collection<InsertedFeatureType> _insertResults = new Collection<InsertedFeatureType>();
        /// <summary>
        /// Gets a collection of Insert,Update and Delete actions.  
        /// The Update and Delete actions modify features that already exist.  
        /// The Insert action, however, creates new features.  
        /// The InsertResults element is used to report the identifiers of the newly created features.
        /// </summary>
        [System.Xml.Serialization.XmlArrayItemAttribute("Feature", IsNullable = false)]
        [System.Xml.Serialization.XmlArrayAttribute("InsertResults", IsNullable = false)]
        public Collection<InsertedFeatureType> InsertResults
        {
            get
            {
                return this._insertResults;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("version")]
        public string Version { get; set; }
    }
}
